home *** CD-ROM | disk | FTP | other *** search
/ F1 Licenseware / F1 Licenseware - Volume 1.iso / disks / 055b.dms / 055b.adf / 3D_MENUS / 3d_menus_source.lha / 3D_ICON_Buttons.amos / 3D_ICON_Buttons.amosSourceCode next >
AMOS Source Code  |  1992-02-26  |  3KB  |  136 lines

  1. '
  2. '************************************************
  3. '
  4. '                 3D ICON BUTTONS    
  5. '                 ---------------
  6. '              By Malcolm Lavery 1994  
  7. '              ----------------------
  8. '
  9. 'interface style 3d buttons for Amos classic 
  10. 'and Easy Amos.
  11. '  
  12. '
  13. '  Uses any images stored in the icon bank 
  14. '
  15. '         ie:   icon 1(button 1 out) 
  16. '               icon 2(button 1 in)
  17. '
  18. '               icon 3(button 2 out) 
  19. '               icon 4(button 2 in)
  20. '
  21. '               icon 5(button 3 out) 
  22. '               icon 6(button 3 in)
  23. '
  24. '                    etc etc 
  25. '
  26. '************************************************
  27. '
  28. '
  29. Screen Open 0,640,256,16,Hires
  30. Curs Off : Cls 0 : Flash Off 
  31. Get Icon Palette 
  32. Limit Mouse 0,0 To 640,500
  33. '
  34. _3D_DISPLAY[0,0,640,255,0,2]
  35. '
  36. Reserve Zone 5
  37. '
  38. _ICON_BUTTON[1,100,100,1,0]
  39. _ICON_BUTTON[2,140,100,3,0]
  40. _ICON_BUTTON[3,180,100,6,0]
  41. _ICON_BUTTON[4,200,100,6,0]
  42. _ICON_BUTTON[5,220,100,6,0]
  43. '
  44. Do 
  45.    '
  46.    _CHECK_BUTTONS
  47.    '
  48. Loop 
  49. '
  50. Procedure _ICON_BUTTON[_ZONENUMBER,X,Y,IMAGE,IN_OUT]
  51.    '
  52.    WIDTH=Deek(Icon Base(IMAGE))*16
  53.    HEIGHT=Deek(Icon Base(IMAGE)+2)
  54.    '
  55.    If IN_OUT=0
  56.       Paste Icon X,Y,IMAGE
  57.    End If 
  58.    '
  59.    If IN_OUT=1
  60.       Paste Icon X,Y,IMAGE+1
  61.    End If 
  62.    '
  63.    Set Zone _ZONENUMBER,X,Y To X+WIDTH,Y+HEIGHT
  64.    '  
  65. End Proc
  66. Procedure _CHECK_BUTTONS
  67.    '
  68.    TEST=Mouse Zone
  69.    TESTTWO=Mouse Key
  70.    '
  71.    If TESTTWO=1 and TEST=1
  72.       _ICON_BUTTON[1,100,100,1,1]
  73.       Bell 
  74.       Wait 10
  75.       _ICON_BUTTON[1,100,100,1,0]
  76.    End If 
  77.    '
  78.    If TESTTWO=1 and TEST=2
  79.       _ICON_BUTTON[2,140,100,3,1]
  80.       Bell 
  81.       Wait 10
  82.       _ICON_BUTTON[2,140,100,3,0]
  83.    End If 
  84.    '
  85.    If TESTTWO=1 and TEST=3
  86.       _ICON_BUTTON[3,180,100,6,1]
  87.       Bell 
  88.       Wait 10
  89.       _ICON_BUTTON[3,180,100,6,0]
  90.    End If 
  91.    '
  92.    If TESTTWO=1 and TEST=4
  93.       _ICON_BUTTON[4,200,100,6,1]
  94.       Bell 
  95.       Wait 10
  96.       _ICON_BUTTON[4,200,100,6,0]
  97.    End If 
  98.    '
  99.    If TESTTWO=1 and TEST=5
  100.       _ICON_BUTTON[5,220,100,6,1]
  101.       Bell 
  102.       Wait 10
  103.       _ICON_BUTTON[5,220,100,6,0]
  104.    End If 
  105.    '
  106. End Proc
  107. Procedure _3D_DISPLAY[X,Y,WIDTH,HEIGHT,IN_OUT,_FILL]
  108.    '
  109.    '
  110.    '
  111.    If IN_OUT=0
  112.       HILIGHT=1
  113.       SHADOW=3
  114.    End If 
  115.    '
  116.    '
  117.    If IN_OUT=1
  118.       HILIGHT=3
  119.       SHADOW=1
  120.    End If 
  121.    '
  122.    '
  123.    Ink HILIGHT
  124.    Draw X,Y To X+WIDTH,Y
  125.    Draw X,Y To X,Y+HEIGHT
  126.    '
  127.    Ink SHADOW
  128.    Draw X+WIDTH,Y To X+WIDTH,Y+HEIGHT
  129.    Draw X+WIDTH,Y+HEIGHT To X,Y+HEIGHT
  130.    '
  131.    Ink _FILL
  132.    Bar X+1,Y+1 To X+WIDTH-1,Y+HEIGHT-1
  133.    '
  134.    '
  135.    '
  136. End Proc